/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upc.clase.demo.service.impl;

import edu.upc.clase.demo.dao.UsuariosDao;
import edu.upc.clase.demo.dao.impl.UsuariosDaoImpl;
import edu.upc.clase.demo.entity.Usuarios;
import edu.upc.clase.demo.service.UsuariosService;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 *
 * @author carlos
 */
@Service
public class UsuariosServiceImpl implements UsuariosService {
    
     private static Logger log = LoggerFactory.getLogger(UsuariosDaoImpl.class);    
    
    @Autowired
    private UsuariosDao usuariosDao;

    @Override
    public Integer insertar(Usuarios usuarios) {
        if (usuarios.getUserClave().length() > 4) {
            log.info("Creando usuario");
            return usuariosDao.insertar(usuarios);
        }       
        return null;
    }

    @Override
    public void actualizar(Usuarios usuarios) {
        log.info("Actualizando usuario");
        usuariosDao.actualizar(usuarios);
    }

    @Override
    public void eliminar(Usuarios usuarios) {
        log.info("Eliminando usuario");
        usuariosDao.eliminar(usuarios);
    }

    @Override
    public List<Usuarios> buscarTodos() {
        log.info("Buscando todos los usuarios");
        return usuariosDao.buscarTodos();
    }

    @Override
    public Usuarios buscar(Integer idUsuario) {
        log.info("Buscar usuario por idUsuario");
        return usuariosDao.buscar(idUsuario);
    }

    @Override
    public Boolean autenticar(String userEmail,String userClave) {
        if (userEmail.contains("@")) {
            Usuarios user = usuariosDao.buscar(userEmail);
            if (user != null) {
                return user.getUserClave().equals(userClave);
            }
        }
        return Boolean.FALSE;
    }

    @Override
    public List<Usuarios> buscarPorNombre(String nomUsuario) {
        return usuariosDao.buscarPorNombre(nomUsuario);
    }    
    
}
